void func1()
{
    int i = 10;
    char *p = &i;
    __asm__ __volatile__(
    "   mov r1, %0\n"
    :"=m"(p)
    :"m"(p));
}
#if 0
void func2()
{
    unsigned char *addr;
    unsigned char *base;

           __asm__ __volatile__(
                          "               stmdb   sp!, {r0-r12}\n"
                                 "               mov     r3, %0\n"
                                        "               mov     r1, %1\n"
                                               "               add     r2, r1, #512\n"
                                                      "               mov     r4, #256\n"
                                                             ".loop_1:       ldmia   r3!, {r6, r8, r10, r12}\n"
                                                                    "               mov     r5, r6, lsl #16\n"
                                                                           "               mov     r7, r8, lsl #16\n"
                                                                                  ".loop_2:       ldrb    r0, [r1, #1536]\n"
                                                                                         "               tst     r0, #1\n"
                                                                                                "               beq     .loop_2\n"
                                                                                                       "               stmia   r2, {r5-r8}\n\t"
                                                                                                              "               mov     r9, r10, lsl #16\n"
                                                                                                                     "               mov     r11, r12, lsl #16\n"
                                                                                                                            ".loop_3:       ldrb    r0, [r1, #1536]\n"
                                                                                                                                   "               tst     r0, #1\n"
                                                                                                                                          "               beq     .loop_3\n"
                                                                                                                                                 "               stmia   r2, {r9-r12}\n"
                                                                                                                                                        "               subs    r4, r4, #16\n"
                                                                                                                                                               "               bne     .loop_1\n"
                                                                                                                                                                      "               ldmia   sp!, {r0-r12}\n"
                                                                                                                                                                             :
                                                                                                                                                                                    : "r" (addr), "r" (base));
}
#endif
